package cn.com.dhcc.app.pub.core.util.filefilter;

import java.io.File;
import java.io.FilenameFilter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 正则表达式匹配文件名文件过滤器
 * @日期：2017/5/4 11:18
 * @作者：张洪涛
 * @版权所有：东华软件
 * @版本：1.0
 */
public class RegexFilter implements FilenameFilter {
    private Pattern p;
    public RegexFilter(String regex) {
        p = Pattern.compile(regex);
    }
    public boolean accept(File dir, String name) {
        Matcher matcher = p.matcher(name);
        if (matcher.find())
            return true;
        File file = new File(dir.getAbsolutePath()+"\\"+name);
        if (file.isDirectory())
            return true;
        else
            return false;
    }
//	public static void main(String args[]){
//		String reg = "\\d+\\.txt";
//		RegexFilter rf=new RegexFilter(reg);
//		File file = new File("D://demos");
//		System.out.println(rf.accept(file, "12312313.rar"));
//	}
}
